import axios from '@/utils/axios'

/**
 * 登录 用户名、密码
 * @param data
 * @returns {*}
 */
export function login(data) {
  return axios({
    url: '/login',
    method: 'post',
    data
  })
}

/**
 * 根据用户的token获取用户信息
 * @returns {*}
 */
export function getInfo() {
  return axios({
    url: '/user',
    method: 'get'
  })
}

/**
 * 用户名 、 密码注册
 * @param data
 * @returns {*}
 */
export function register(data) {
  return axios({
    url: '/register',
    method: 'post',
    data
  })
}

/**
 * 异步验证用户名是否存在
 * @param username
 * @returns {*}
 */
export function validUsername(username) {
  return axios({
    url: '/validUsername',
    method: 'get',
    params: {
      username
    }
  })
}

/**
 * 更新用户信心
 */
export function updateUserByToken(data) {
  return axios({
    url: '/user/update',
    method: 'post',
    data
  })
}

/**
 * 更新密码
 */
export function updatePassword(data) {
  return axios({
    url: '/user/updatePass',
    method: 'post',
    data
  })
}

/**
 * 获取路由列表
 */
export function getRouterList() {
  return axios({
    url: '/router',
    method: 'get'
  })
}

/**
 * 分页获取用户账号列表
 */
export function getUserByPage(params) {
  return axios({
    url: '/user/account/page',
    method: 'get',
    params
  })
}

/**
 * 不分页获取用户账号列表
 */
export function getUserByList() {
  return axios({
    url: '/user/account/list',
    method: 'get'
  })
}

/**
 * 根据账户id更新用户状态
 */
export function updateUserState(id) {
  return axios({
    url: '/user/state/' + id,
    method: 'get'
  })
}

/**
 * 退出登录
 */
export function logout() {
  return axios({
    url: '/logout',
    method: 'get'
  })
}
